package co.com.smart.facade;


import java.util.ArrayList;
import java.util.List;

import javax.naming.NamingException;

import co.com.smart.maestro.infraestructure.dto.DocenteDTO;
import co.com.smart.maestro.infraestructure.dto.ExcepcionDTO;
import co.com.smart.maestro.infraestructure.dto.ExcepcionDTO.Tipo;
import co.com.smart.persistence.entity.DocenteFacadeLocal;
import co.com.smart.persistence.entity.dto.DocenteOBJ;
import co.com.smart.session.DelegateContextEJB;



public class DocentesFactoryFacade {

	public List<DocenteDTO> consultarDocentes(
		String nombre, 
		String apellido, 
		String documento) 
	{
			List<DocenteDTO> lista	 	= new ArrayList<DocenteDTO>();
		try {
			DocenteFacadeLocal servicio = DelegateContextEJB.getDocentesFacadeLocal();
			List<DocenteOBJ> docentes	 = servicio.consultarDocentes(nombre, apellido, documento);
			if(docentes != null && docentes.size() > 0) {
			   for(DocenteOBJ doc : docentes) {
				   DocenteDTO docente 	 = new DocenteDTO();
				   /*
				   docente.setNombre(doc.getNombre());
				   docente.setApellido(doc.getApellido());
				   docente.setDocumento(doc.getDocumento());
				   */
				   lista.add(docente);
			   }
			}
		}
		catch (NamingException e) {
			ExcepcionDTO ex = new ExcepcionDTO();
			ex.setTipo(Tipo.ADVERTENCIA);
			ex.setMensaje(e.getMessage());
			throw ex;
		}		
		
		return lista;
	}
	
}
